home *** CD-ROM | disk | FTP | other *** search
/ L' Effet Pommier 3 / L'Effet Pommier - Volume 03.iso / Communication / MacWebLint-1.013 / ChangeLog < prev    next >
Text File  |  1996-01-01  |  32KB  |  927 lines

  1.  
  2.             ChangeLog for WebLint
  3.  
  4. 1.013
  5.  
  6.     1-january-1996 neilb
  7.  
  8.     *    Changed the output format when running the testsuite to be more
  9.     terse, so everything stays on screen. You can always look at the
  10.     log file for greater verbosity.
  11.  
  12.     *    Added a function PickTmpdir() to the testsuite, which is used to
  13.     determine a valid temporary working directory. Previously the
  14.     testsuite assumed that /usr/tmp would be present, which is not true
  15.     on all systems.
  16.     Patch submitted by Charles F. Randall <crandall@dmacc.cc.ia.us>
  17.  
  18.     *    Updated the text at the head of the sample configuration file,
  19.     weblintrc, to clarify that the enable'd warnings in the file are
  20.     enabled by default, so you don't really have to enabled them in
  21.     your config file, unless you like explicitness.
  22.  
  23.     *    Added entry to weblintrc for variable 'directory-index'.
  24.  
  25.     21-december-1995 neilb
  26.  
  27.     *    Changed the default for the 'url-get' variable to be undefined,
  28.     rather than "lynx -source". This means that "weblint -todo" will
  29.     print the URL of the todo list, unless you explicitly set the
  30.     url-get variable.
  31.  
  32.     16-december-1995 neilb
  33.  
  34.     *    Added a warning 'literal-metacharacter', which warns about
  35.     metacharacters included literally, where they should be represented
  36.     using entities. Currently just warns about >. Warning is enabled by
  37.     default. Simple testcase added to testsuite.
  38.     Suggested by Michael P. Gerlek <gerlek@dat.cse.ogi.edu>
  39.  
  40.     *    The variable 'directory-index' can now be set to a comma-separated
  41.     list of filenames, if you want to allow multiple names for directory
  42.     index files, such as welcome.html or index.html. In your .weblintrc:
  43.         set directory-index = welcome.html, index.html
  44.     Suggested by Eric Maryniak <E.Maryniak@rgd.nl>.
  45.  
  46.     15-december-1995 neilb
  47.  
  48.     *    Fixed a bug in the testsuite for testcases where warnings are
  49.     expected. If you got more warnings than expected, but the extraneous
  50.     warnings were on the same line as expected warnings, then the
  51.     test was not marked as unsuccessful, as it should have been.
  52.  
  53.     *    Added a warning 'require-doctype', which if results in a warning if a
  54.     page does not have a DOCTYPE as the first element. Disabled by default.
  55.     Two cases added to testsuite. Not enabled with -pedantic.
  56.     Suggested by Larry Virden <lvirden@cas.org>
  57.  
  58.     *    Running "weblint -todo" will now pull down the latest todo list
  59.     from our ftp server if you have set the 'url-get' variable.
  60.     Otherwise it prints the URL of the webified version of the ToDo list.
  61.  
  62.     *    Reformatted the text displayed with the -help and -U switches,
  63.     so that it will fit on a standard sized tty or PC.
  64.     Suggested by Frank Steinke <fsteinke@zeta.org.au>
  65.  
  66.     *    Fixed bug related to container elements where the closing tag
  67.     is optional, such as LI. If a comment was the last thing,
  68.     then weblint would warn that the container was empty. E.g.
  69.         <UL>
  70.         <LI>line 9
  71.         <!-- line 10 -->
  72.         <LI>line 11
  73.         </UL>
  74.     Added regression test case to testsuite.
  75.     Reported by Mark Gates <mr-gates@uiuc.edu>
  76.  
  77.     10-december-1995 neilb
  78.  
  79.     *    Added a semi-colon to a single statement in an else clause,
  80.     which was apparently causing problems under perl 4.019.
  81.     Frank Steinke <fsteinke@zeta.org.au>
  82.  
  83.     *    The README was still claiming that weblint.ps was included with the
  84.     distribution. It now gives the URL for the copy on our ftp server.
  85.  
  86.     9-december-1995 neilb
  87.  
  88.     *    Added support for the netscape extensions added in netscape 2:
  89.         -    ENCTYPE attribute for FORM element
  90.         -    USEMAP attribute for IMG element (client side image maps)
  91.         -    MAP and AREA elements
  92.  
  93.     *    Removed the todo list from the weblint script. The -todo switch
  94.     now echoes the URL for the online todo list. Maybe in the future
  95.     weblint -todo will grab an ascii version from a web/ftp site,
  96.     and spit it out. This will keep the todo list current.
  97.  
  98.     *    Fixed a bug where enabling the java extension would also enable
  99.     the netscape extension.
  100.  
  101. 1.012
  102.  
  103.     9-december-1995 neilb
  104.     *    Added an EXTENSIONS section to the man page, which describes
  105.     the supported html extensions, and how to enable them.
  106.  
  107.     6-december-1995 neilb
  108.     *    Changed the way the symlink check works, so a single file is still
  109.     checked if it is a symlink and you specified -l, but you get a
  110.     warning to that effect.
  111.     Suggested by John F. Whitehead <jfw@wral-tv.com>.
  112.  
  113.     4-december-1995 neilb
  114.     *    If you give the -l switch and an explicit list of files, weblint
  115.     will now ignore any which are symlinks. If you give only one file,
  116.     specify -l, and the file is a symlink, then you get a warning that
  117.     the file is being ignored.
  118.     Suggested by John F. Whitehead <jfw@wral-tv.com>.
  119.  
  120.     3-december-1995 neilb
  121.     *    Created a web page version of the Artistic License, which is linked
  122.     to the weblint home page. Weblint -v also prints the URL of this page.
  123.  
  124.     *    Added support for the Java elements APPLET and PARAM,
  125.     as an extension 'java'. For weblint to accept the java elements:
  126.         % weblint -x java
  127.     or the following in your .weblintrc:
  128.         extension java
  129.     Added a testcase for a valid applet with param, and a testcase
  130.     which checks that PARAM appears in an APPLET.
  131.     Suggested by Jon Thackray <jrmt@uk.gdscorp.com>
  132.  
  133.     *    Changed the version string printed for the -v/-version switch,
  134.     so the following information is printed:
  135.          -    version of weblint
  136.          -    copyright me
  137.          -    weblint is covered by the artistic license, and where to get
  138.         a copy of the license.
  139.     Suggested by Eric de Mund <ead@ixian.com>
  140.  
  141.     *    Changed the way the testsuite determines the version of weblint,
  142.     so that it will work for old and new format version string.
  143.  
  144.     10-november-1995 neilb
  145.     *    Changed the pedantic option so that the bad link check is not
  146.     enabled, since it needs some work ;-)
  147.  
  148.     7-november-1995 neilb
  149.  
  150.     *    Added a warning, 'container-whitespace', which flags leading and
  151.     trailing whitespace for specific container elements, currently
  152.     A, TITLE, H1 through H6.
  153.     Suggested by Richard Finegold <goldfndr@eskimo.com>
  154.  
  155.     *    Added a -pedantic command-line switch, which turns on all warnings
  156.     except case-sensitive checking of element tags. This can be combined
  157.     with -e and -d to turn on or off specific warnings.
  158.  
  159.     *    Fixed bug in the testsuite where ExpectWARN() wouldn't flag a
  160.     failure if not all the expected warnings were seen, but all the
  161.     warnings seen were expected.
  162.  
  163.     *    Fixed the bug whereby a container element would be reported as
  164.     empty if the last thing in the container was a valid comment.
  165.     Reported by Craig Leres <leres@ee.lbl.gov> and others.
  166.  
  167.     29-july-1995 neilb
  168.  
  169.     *    We now check for the -v, -U, -help, -version, and -todo switches
  170.     before checking for a .weblintrc and reading the warning information.
  171.     Suggested by Richard Finegold <goldfndr@eskimo.com>.
  172.  
  173.     *    Added a warning `img-size' which suggests you set WIDTH and HEIGHT
  174.     attributes on IMG elements, since this can apparently improve
  175.     rendering time on some browsers.  Warning is disabled by default.
  176.     Suggested by Richard Finegold <goldfndr@eskimo.com>
  177.  
  178. 1.011
  179.  
  180.     28-july-1995 neilb
  181.  
  182.     *    Changed the Makefile so that weblint.ps is not included as part
  183.     of the distribution.  A postscript version of the man page is
  184.     available from a link on the weblint home page.
  185.  
  186.     26-july-1995 neilb
  187.  
  188.     *    Added a command-line switch -urlget, to specify the command which
  189.     weblint should use to pull down a URL.
  190.  
  191.     *    Added a warning, `attribute-delimiter', which warns about use of '
  192.     as a delimiter for attribute values, since this is not correctly
  193.     parsed by all browsers.
  194.  
  195.     *    Weblint now understands attribute values with are quoted with '...'
  196.     as well as "...".  Reported by Abigail <abigail@mars.ic.iaf.nl>
  197.  
  198.     25-july-1995 neilb
  199.  
  200.     *    Added a new warning, `netscape-attribute', which generates a
  201.     warning if you use netscape specific attributes for a
  202.     non netscape-specific tag.  For example:
  203.  
  204.         <BODY BGCOLOR="#fefefe">
  205.  
  206.     Previously this would generate an "unknown attribute" warning,
  207.     but you now get a warning that this is netscape specific, and
  208.     you should enable the netscape extension to suppress the warning.
  209.     Suggested out by Larry W. Virden <lvirden@cas.org>
  210.  
  211.     *    Added a weblint variable `message-style', which can be used to
  212.     specify the style of warning message to generate
  213.  
  214.         lint    (default)    lint-style warning messages
  215.         short    -s        short messages (no filename)
  216.         terse    -t        format for parsing (eg by testsuite)
  217.  
  218.     So for example, in the sample weblintrc:
  219.  
  220.         set message-style = lint
  221.  
  222.     Suggested by Philip Hallstrom <philip@wolfe.net>.
  223.  
  224.     *    Weblint will now check pages specified by URL, for example:
  225.  
  226.         weblint http://www.khoral.com/staff/neilb/weblint.html
  227.  
  228.     Weblint uses a 'url getter', which can be specified in your .weblintrc:
  229.  
  230.         # command to use to pull back URLs for checking
  231.         set url_get = httpget -nofollow
  232.  
  233.     *    Added a general feature for setting weblint variables in
  234.     the weblintrc.
  235.  
  236.     *    Added a warning, 'closing-attribute', which warns if you have
  237.     attributes for a closing tag of a container.  For example:
  238.  
  239.         <H1>This is a heading<H1 ALIGN=CENTER>
  240.  
  241.     20-july-1995 neilb
  242.  
  243.     *    Added a warning, `directory-index', which checks to see if every
  244.     directory has an index file when recursing.  By default the index
  245.     file is expected to be called `index.html', but this can be
  246.     over-ridden in your .weblintrc:
  247.  
  248.         directory-index home.html
  249.  
  250.     The warning is enabled by default.
  251.     Suggested by John F. Whitehead <jfw@wral-tv.com>.
  252.  
  253.     *    Added a new warning, `empty-container', which generates a warning if
  254.     you have an empty container element.  For example:
  255.  
  256.         <TITLE></TITLE>
  257.  
  258.     Added a testsuite case for this example.  It will also catch empty
  259.     optional container elements, such as:
  260.  
  261.         <UL>
  262.         <LI>blah
  263.         <LI>
  264.         <LI>blah blah
  265.         </UL>
  266.  
  267.     Added a test case for this as well.
  268.  
  269.     19-july-1995 neilb
  270.  
  271.     *    Added a -warnings switch, which tells weblint to list all
  272.     supported warnings, in the following format:
  273.  
  274.         <warning-id> ([ enabled | disabled ])
  275.             <test of warning message>
  276.  
  277.     Suggested by Tom Neff <tneff@panix.com>
  278.  
  279.     18-july-1995 neilb
  280.  
  281.     *    Added a warning `must-follow', which is used to check situations
  282.     where an element must immediately follow an other.  This checks:
  283.          -    Shouldn't have anything appearing between the HEAD and BODY
  284.         elements.
  285.          -    LH (list heading) must be the first element in an OL, UL,
  286.         or DL element.
  287.          -    OVERLAY first in a FIG
  288.          -    HEAD immediately follow HTML
  289.          -    BODY immediately follow /HTML
  290.          -    /HTML immediately follow /BODY
  291.     Added a couple'a test cases for these.
  292.  
  293.     *    Added a check for known warnings when enabling or disabling warnings.
  294.     The check is performed for `enable' and `disable' keywords in your
  295.     configuration file, and also for the -d and -e switches.
  296.     Suggested by Barry Bakalor <barry@hal.com>.
  297.  
  298.     *    Fixed the bug where weblint would complain about a comment
  299.     (claiming it was not a valid comment), if it was the last thing
  300.     in the file.
  301.  
  302.  
  303. 1.010
  304.  
  305.     11-july-1995 neilb
  306.  
  307.     *    Fixed a bug whereby the - option on the command-line (to specify
  308.     that weblint should read from standard input) did not work.
  309.  
  310. 1.009
  311.  
  312.     10-july-1995 neilb
  313.  
  314.     *    Some warnings started capitalized, some lower case.  Now consistently
  315.     lower case.  Pointed out by Larry W. Virden <lvirden@cas.org>
  316.  
  317.     9-july-1995 neilb
  318.  
  319.     *    Added a warning `repeated-attribute' which warns about an attribute
  320.     being repeated in the same tag.  For example:
  321.         <IMG SRC="foo.gif" SRC="bar.gif">
  322.     Contributed by Axel Boldt <axel@uni-paderborn.de>.
  323.  
  324.     *    Changed the format of the data in the __DATA__ section at the
  325.     end of weblint.  Rather than being a colon separated list,
  326.     each field appears on a line of its own.
  327.  
  328.     8-july-1995 neilb
  329.  
  330.     *    Added a warning `physical-font' which generates warnings if
  331.     you use any of the following physical font markup: <B>, <I>, or <TT>.
  332.     The warning message reminds the user of possible logical markup
  333.     to use instead.  The warning is disabled by default.
  334.     Suggested by Chris Siebenmann <cks@hawkwind.utcs.toronto.edu>)
  335.  
  336.     *    Added more explicit context checks now that optional containers
  337.     are supported:
  338.  
  339.         Element        Appear in    Which appears in
  340.         --------    --------------    ----------------
  341.         TD, TH        TR        TABLE
  342.         ITEM        ROW        ARRAY
  343.  
  344.     *    Weblint now supports elements which are optional containers:
  345.         DD, DT, LI, P, ROW, TD, TH, TR
  346.  
  347.     *    Added an option to tell weblint to ignore symlinks when recursing
  348.     in a directory.  From the command-line:
  349.  
  350.         % weblint -l foo/
  351.  
  352.     or in your .weblintrc:
  353.  
  354.         ignore symlinks
  355.  
  356.     Added this to the weblintrc, but commented out by default.
  357.     Suggested by John F. Whitehead <jfw@wral-tv.com>.
  358.  
  359.     *    Got rid of the -R switch: if weblint is run on a directory, then
  360.     it will automatically recurse in the directory.  This means that
  361.     files and directories can be mixed on the command line; they couldn't
  362.     with previous versions of weblint.  Suggestion and code from
  363.     Axel Boldt <axel@uni-paderborn.de>
  364.  
  365.     *    Added a warning `illegal-closing', for unexpected use of a closing
  366.     tag.  For example: <IMG ...> ... </IMG>
  367.     Bug reported by David Begley <david@bacall.nepean.uws.edu.au>
  368.  
  369.     *    The man page didn't say that "weblint -" specifies that weblint
  370.     should read from standard input.
  371.     Noted by Stephen Fitzpatrick <S.Fitzpatrick@cs.qub.ac.uk>
  372.  
  373.     *    Now use newgetopt.pl rather than getopts.pl for command-line parsing,
  374.     since it supports long command-line switches.  Added the following
  375.     switches:
  376.  
  377.         New Switch    Same As        Function
  378.         ----------    -------        --------------------
  379.         -version    -v        display weblint version
  380.         -help        -U        display usage statement
  381.  
  382.     Turns out that newgetopt.pl is case-insensitive, so -todo *replaces*
  383.     the -T switch.
  384.  
  385.         New Switch    Replaces    Function
  386.         ----------    -------        --------------------
  387.         -todo        -T        display todo list
  388.         -stderr        -E        warnings to STDERR, not STDOUT
  389.  
  390.     *    Added a warning `unclosed-comment', which flags an unterminated
  391.     comment.  For example <!-- blah blah > is not a legal comment.
  392.     Previously weblint would hit this and suck in the rest of the file,
  393.     and then warn that it hadn't seen </BODY>, </HTML> etc.
  394.     Added test case to testsuite.
  395.     Reported by Laurent Demailly <dl@hplyot.obspm.fr>
  396.  
  397.     *    Changed &whine() to take the line number as the first argument,
  398.     rather than just assuming $. is the correct line number.  This
  399.     means that warnings can be given for the right line, with a little
  400.     work.
  401.     
  402.  
  403. 1.008
  404.  
  405.     4-july-1995 neilb
  406.  
  407.     *    Rewrote the man page with some custom macros to facilitate
  408.     generation of HTML version of the man page.
  409.  
  410.     *    Fixed a number of typos in the ChangeLog, weblintrc.
  411.     Added the "extension netscape" command to the weblintrc, commented
  412.     out by default.  Barry Bakalor <barry@hal.com>.
  413.  
  414.     *    Changed the version of tar used to create the distribution, since
  415.     some people were having problems extracting from the archive.
  416.     Thanks to Barry Bakalor and Anthony Thyssen for helping with this.
  417.  
  418.     2-july-1995 neilb
  419.  
  420.     *   Added CONTRIBUTIONS section at the end of the man page, listing
  421.     everyone who has contributed something to weblint.
  422.  
  423.     *   Weblint now exits with an exit status of 1 if any warnings were
  424.     given.  Suggestion and code from John Labovitz <johnl@ora.com>.
  425.  
  426.     *   Fixed bug where weblint wouldn't complain about nested FORM
  427.     elements.  Added test case to testsuite.
  428.  
  429.     *    Fixed bug where the following MATH elements were not recognized:
  430.         ITEM element, used within the ARRAY element
  431.         OVER, ATOP, CHOOSE, LEFT, and RIGHT tags, used with BOX
  432.     Added test case for MATH elements to testsuite.
  433.  
  434.     *    Added more context checks for HTML 3 elements:
  435.         -    OVERLAY must appear inside a FIG
  436.         -    TD, TH, and TR can only appear in a TABLE
  437.         -    ABOVE, BOX, BELOW, VEC, BAR, DOT, DDOT, HAT, TILDE, SQRT,
  438.         ROOT, OF, ARRAY, TEXT, T, and BT can only appear in MATH
  439.         -    LH must appear in OL, UL, or DL.
  440.     Added some context test cases to testsuite.
  441.  
  442.     *    Fixed the bug where the VALIGN attribute was not recognized for the
  443.     TD and TH elements of tables.  Bug report and fix from
  444.     David Begley <david@bacall.nepean.uws.edu.au>
  445.  
  446.     *    Changed a couple of the regular expressions to be associative
  447.     arrays, for a slight speedup.
  448.  
  449.     *    Added a `required-context' warning, which is a generalized case
  450.     of existing warnings such as `form-item'.  It specifies a required
  451.     context for an element, such as the ROOT element can only appear
  452.     in the MATH element.  The following warnings were removed:
  453.         form-item
  454.         select-option
  455.         defn-list-elements
  456.         list-item
  457.     Code contributed by Axel Boldt <axel@uni-paderborn.de>
  458.  
  459.     *    Added -i switch to specify that case should be ignored when checking
  460.     element tags.  This is equivalent to:
  461.         weblint -d lower-case -d upper-case
  462.     Suggested by Tom Neff <tneff@panix.com>
  463.  
  464.     *    Changed the wording of the `heading-order' warning to mention that
  465.     this is a "bad style" warning.
  466.  
  467.     *    More updates to the netscape support:
  468.         -    CELLSPACING attribute for TABLE
  469.         -    CELLPADDING attribute for TABLE
  470.         -    WIDTH attribute for TD and TH
  471.         -    TEXT, LINK, VLINK, and ALINK attributes for BODY
  472.  
  473.     29-june-1995 neilb
  474.  
  475.     *    Updated the testsuite so individual tests can specify flags which
  476.     should be added to the weblint command line, eg to enable the
  477.     netscape extensions.
  478.  
  479.     *    Added two test cases to check that netscape HTML extensions are
  480.     (only) correctly recognized when weblint is run with the netscape
  481.     extension enabled.
  482.  
  483.     *    Finally got around to making weblint accept the BLINK element
  484.     when the netscape extensions are enabled.
  485.     Noted by Bruce Speyer <bspeyer@texas-one.org>.
  486.  
  487.     *    Fixed bug where <> would confuse weblint, resulting in spurious
  488.     warnings.  Reported by Gil Citro, and others.  Added test case
  489.     to the testsuite.
  490.  
  491.     *    Fixed bug in netscape support where the WIDTH attribute was not
  492.     recognized for the HR element.
  493.  
  494.     *    Updated netscape support to include new attributes:
  495.         -    START attribute for OL
  496.         -    VALUE attribute for LI
  497.         -    BGCOLOR attribute for BODY
  498.     (noted by Richard Lloyd <R.K.Lloyd@csc.liv.ac.uk>)
  499.  
  500. 1.007
  501.  
  502.     26-june-1995 neilb
  503.  
  504.     *    Improved performance by adding /o modifier to appropriate regular
  505.     expression matches.  Weblint on a fairly complex table went from
  506.     ~8.9 seconds to ~1.9.  Suggested by Dana Jacobsen <dana@acm.org>.
  507.     Shame on me for not doing this in the first place!
  508.  
  509.     *    Fixed bug where the 'unknown-attribute' warning would never be
  510.     generated for unknown element attributes.  Added test case to
  511.     testsuite.  Bug reported by Dana Jacobsen <dana@acm.org>.
  512.  
  513.     *    Fixed bug in testsuite where user's .weblintrc could be configured
  514.     to make certain tests fail.  Now set WEBLINTRC = /dev/null, to
  515.     over-ride user's configuration.
  516.     Reported by Barry Bakalor <barry@hal.com>
  517.  
  518.     *    Fixed bug where the <B> element was not recognized.  Added a simple
  519.     test case to testsuite for the information type and font style
  520.     elements (B, I, TT, CODE, etc).
  521.  
  522. 1.006
  523.  
  524.     25-june-1995 neilb
  525.  
  526.     *    First cut at HTML 3 support.  All elements are supported, but not
  527.     all the right context checks are performed yet (for example, a
  528.     warning is not generated if you use something like <SQRT> outside of
  529.     a MATH element, or <TR> outside of a TABLE.
  530.  
  531.     *    If you don't have a TITLE element, but *do* have a HEAD element,
  532.     then you'll only get one warning now, instead of the previous two.
  533.  
  534.     *    Weblint no longer complains about not seeing the HTML element,
  535.     unless you enable the 'html-outer' warning (which is enabled by
  536.     default).  It used to generate an additional (unsuppressable)
  537.     warning about expected HTML tag not seen.
  538.     Reported by Chris Siebenmann <cks@hawkwind.utcs.toronto.edu>.
  539.  
  540.     *    Fixed bug where obsolete elements generated warnings about unknown
  541.     tags, and never generated the `obsolete' warning.
  542.     Reported by Axel Boldt.
  543.  
  544.     *    Added -E switch, which specifies that warnings should be printed
  545.     to STDERR rather than STDOUT.
  546.  
  547.     24-june-1995 neilb
  548.  
  549.     *    Added a regression testsuite for weblint, in test.pl.  Run with:
  550.         % make test
  551.     The status of each test (pass/fail) is printed to STDERR, with a more
  552.     complete log written to weblint-test.log.
  553.  
  554.     *    Fixed bug in man page for `head-element' description.  It now says
  555.     that the warning is `enabled' by default, instead of `head-element',
  556.     which is what it said before.
  557.     Reported by Anthony Thyssen <anthony@cit.gu.edu.au>
  558.  
  559.     *    Fixed bug where enabling the netscape extensions would result in
  560.     VAR and NOBR not being recognized as legal.  Bug report and fix
  561.     from David J. MacKenzie <djm@va.pubnix.com>
  562.  
  563.     23-june-1995 neilb
  564.  
  565.     *    Added -t switch for terse output, to facilitate testing.
  566.     If -t is specified, warnings are reported as:
  567.         filename:line:id
  568.  
  569.     *    Fixed the bug where weblint would complain that the META element
  570.     was not allowed to appear in the HEAD element.  In fact that's
  571.     the only place it can appear :-)
  572.     Reported by Thomas Leavitt <leavitt@webcom.com> and others.
  573.  
  574.  
  575. 1.005
  576.  
  577.     21-nov-1994 neilb
  578.  
  579.     *    Fixed bug whereby unknown tags were always given as </...>,
  580.     whether they were opening or closing tags.
  581.     (reported by Larry Virden <lvirden@cas.org>)
  582.  
  583.     *    Changed the `bad-link' warning to be disabled by default, since
  584.     there is at least one situation in which it will generate bogus
  585.     warnings.
  586.  
  587.     20-nov-1994 neilb
  588.  
  589.     *    Giving the -R switch with no files/directories specified now
  590.     defaults to `.', the current directory.
  591.     (suggested by Barry Bakalor <barry@hal.com>)
  592.  
  593.     *    Fixed bug whereby required attributes were being checked on closing
  594.     tags as well as opening tags.
  595.     (reported by Barry Bakalor <barry@hal.com>)
  596.  
  597.     *    Fixed bugs in `bad-link' check for non-existent targets:
  598.         -    mailto:
  599.         -    news:
  600.         -    directories
  601.         -    absolute paths, eg cgi-scripts (HREF="/cgi-bin/foo")
  602.     (reported by Barry Bakalor <barry@hal.com>)
  603.  
  604.     *    Fixed typos in weblintrc.
  605.     (reported by Barry Bakalor <barry@hal.com>)
  606.  
  607. 1.004
  608.  
  609.     19-nov-1994 neilb
  610.  
  611.     *    Added an Announce file to distribution, which contains verbose
  612.     announcement for the current version, listing all new warnings and
  613.     their identifiers.
  614.  
  615.     *    First attempt at check for potentially unclosed elements ---
  616.     checking for:
  617.         < ... < ... >
  618.     for example:
  619.         <A HREF="..." anchor text</A>
  620.     Warning has identifier `unexpected-open'.  This might not catch all
  621.     cases at the moment, since I didn't want it to generate bogus warnings
  622.     where < appears in an attribute value (eg ALT="<-").
  623.  
  624.     *    Changed the 'expected-attribute' identifier to 'required-attribute',
  625.     and added a warning with identifier 'expected-attribute'.  This is
  626.     for elements which have no *required* attributes, but for which you
  627.     expect to see at least one attribute, such as anchors.
  628.  
  629.     *    Added a Makefile, with targets for install, preview, tar, clean,
  630.     and a postscript version of the man page.
  631.     (suggested by Richard Lloyd <R.K.Lloyd@csc.liv.ac.uk>)
  632.  
  633.     18-nov-1994 neilb
  634.  
  635.     *    Added support for `proposed' items: REL and REV attributes of anchors,
  636.     META, DFN, STRIKE, and U.
  637.     (noted by Robert Schmunk <pcrxs@nasagiss.giss.nasa.gov>)
  638.  
  639.     17-nov-1994 neilb
  640.  
  641.     *    Added a check for relative local links, to generate a warning if
  642.     the target does not exist.  Warning identifier: bad-link
  643.  
  644.     *    Added -d and -e switches to enable and disable warnings.
  645.     The argument can be one or more warning identifiers, with multiple
  646.     identifiers separated with commas.  For example:
  647.         weblint -e upper-case foo.html
  648.     A pseudo identifier `mixed-case' is now supported:
  649.         weblint -e mixed-case foo.html
  650.     Turns off upper-case and lower-case checking.
  651.  
  652.     *    Warning added for heading which is more than one level deeper than
  653.     the most recent heading.  I.e.  <H1> followed by <H3> results in
  654.     warning, with identifier 'heading-order'.
  655.     (suggested by Bill Arnett <billa@netcom.com>)
  656.  
  657.     16-nov-1994 neilb
  658.  
  659.     *    Changed the extension switch from -e to -x, so that -e and -d
  660.     can be used for enable/disable warning(s).
  661.  
  662.     15-nov-1994 neilb
  663.  
  664.     *    Added a check for an odd number of quotes in an element, so the
  665.     following now generates a warning:
  666.         <A HREF="http://www.foobar.com/>
  667.  
  668.     14-nov-1994 neilb
  669.  
  670.     *    If an element is not recognized, then any element attributes are
  671.     not checked for validity.
  672.     (suggested by Victor Parada <vparada@inf.utfsm.cl>)
  673.  
  674.     *    All keywords in the configuration file can now take multiple
  675.     arguments.  I.e., you can enable multiple warnings with:
  676.         enable mailto-link upper-case
  677.  
  678.     *    The illegal element check wasn't being performed on closing
  679.     tags, so </XYZ> wouldn't generate a warning.
  680.     (reported by Victor Parada <vparada@inf.utfsm.cl>)
  681.  
  682.     *    Added a sample configuration file `weblintrc', with
  683.     comments describing everything which can be configured.
  684.     Configuration matches the built-in defaults.
  685.  
  686.     *    Use of <!doctype ...> would generate a bunch of bogus whines.
  687.     (reported by several people :-)
  688.  
  689. 1.003
  690.  
  691.     11-nov-1994 neilb
  692.  
  693.     *    Added support for HTML extensions.  Currently only the
  694.     netscape extensions are supported, either by:
  695.  
  696.         weblint -e netscape ....
  697.  
  698.     or, in your .weblintrc:
  699.  
  700.         # enable the netscape HTML extensions
  701.         extension netscape
  702.  
  703.     Weblint will not complain that <CENTER> is an unknown element,
  704.     and also knows about the additional element attributes.
  705.  
  706.     *    Fixed the bug in the -R code whereby it would get confused
  707.     about where it was.
  708.     (reported by Victor Parada <vparada@inf.utfsm.cl>, and
  709.     Bob Friesenhahn <bfriesen@simple.dallas.tx.us>)
  710.  
  711.     *    Removed the generic context check added on 6-nov-1994.
  712.     I need to learn more about implied context before this is
  713.     added back in.  It currently whines about *everything* :-(
  714.  
  715.     6-nov-1994 neilb
  716.  
  717.     *    Generalized the context checks;  they are now table driven,
  718.     and based on the HTML spec.  Warning identifier is
  719.     `illegal-context'.
  720.  
  721.     5-nov-1994 neilb
  722.  
  723.     *    Made the usage slightly more verbose, giving example usage.
  724.     (suggested by Douglas Brick <dbrick@u.washington.edu>)
  725.  
  726.     *    Added a check for illegal elements, with warning identifier
  727.     of 'unknown-element', enabled by default.  So
  728.         <\PRE> and <CENTER>
  729.     will generate this warning.  (suggested by Joerg Heitkoetter
  730.     <Joerg.Heitkoetter\@germany.eu.net>)
  731.  
  732.     *    For non-nestable elements (such as anchors), the warning
  733.     now gives the line number of the still open element.
  734.  
  735.     *    Weblint now correctly recognizes SGML comments where there
  736.     is whitespace between the -- and > closing the comment. Eg:
  737.         <!-- this is a valid comment --   >
  738.     (reported by Paul Black <black@lal.cs.byu.edu>)
  739.  
  740.     3-nov-1994 neilb
  741.  
  742.     *    Removed the warning with identifier 'tag-args':
  743.         expected argument for tag <...>.
  744.     and replaced it with a general check for required attributes,
  745.     with identifier 'expected-attribute':
  746.         sample.html(9): SRC attribute is required for <IMG>.
  747.  
  748.     *    Added a -s command-line switch, for short warnings.  Short
  749.     warnings do not include the filename:
  750.         line 5: no <TITLE> in HEAD element.
  751.     (suggested by Clay Webster <clay@unipress.com>)
  752.  
  753.     *    Added a check and warning (identifier: leading-whitespace)
  754.     for whitespace between < and tag name, for example:
  755.         < TITLE>
  756.     will generate warning:
  757.         Should not have whitespace between "<" and "TITLE>".
  758.  
  759.     *    The usage statement is now printed if weblint is invoked
  760.     without any command-line arguments.
  761.  
  762.     *    Fixed bug whereby
  763.         <IMG SRC="foo.gif" ISMAP ALT="alt text">
  764.     would generate a warning that element had no ALT text.
  765.  
  766.     *    Added a check for legal attributes.  So the following
  767.         <A HROF="...">
  768.     generates a warning:
  769.         Unknown attribute "HROF" for element <A>.
  770.     with warning identifier of 'unknown-attribute'.
  771.  
  772.     *    Messages are now written to STDOUT rather than STDERR.
  773.  
  774. 1.002
  775.  
  776.     2-nov-1994 neilb
  777.  
  778.     *    Now correctly (or more correctly at least) recognizes SGML
  779.     comments, and doesn't get confused by markup embedded in
  780.     comments.  Added a new warning for markup embedded in a
  781.     comment, since this confuses some browsers.  The warning,
  782.     with identifier 'markup-in-comment', is enabled by default.
  783.  
  784.     *    Modified the checks on element closing tags </...>,
  785.     performed for </HEAD>, </BODY> and </HTML> -- the following
  786.     used to generate a bogus warning that no </UL> was seen:
  787.  
  788.         <HTML><HEAD><TITLE>sample</TITLE></HEAD><BODY>
  789.         <UL>
  790.         <LI><I>unclosed italic
  791.         </UL>
  792.         </BODY></HTML>
  793.  
  794.     *    Slight re-arrangement of man page sections, to follow
  795.     traditional UNIX conventions (reported by Joerg Heitkoetter
  796.     <Joerg.Heitkoetter@germany.eu.net>)
  797.  
  798.     *    No longer complains if you have more than one ADDRESS
  799.     element on a page.
  800.  
  801.     1-nov-1994 neilb
  802.  
  803.     *    added a -R switch, which is used to recurse down directories,
  804.     checking any files found with a file extension of .html or
  805.     .htm; for example:
  806.         weblint -R .
  807.     Weblint now depends on find.pl from the standard perl library.
  808.     (suggested by Thomas Leavitt <leavitt@webcom.com>)
  809.  
  810.     *    changed logic of the check for elements which can and can't
  811.     appear in the HEAD element.  Weblint previously complained
  812.     that ISINDEX could only appear in the HEAD, which was not
  813.     true (reported by Victor Parada <vparada@inf.utfsm.cl>)
  814.  
  815.     29-oct-1994 neilb
  816.  
  817.     *    attributes were not being seen in multi-line tags if they
  818.     appeared after the first newline.  Eg:
  819.         <IMG SRC="foo.gif"
  820.         ALT="alt text>
  821.     generated a warning that the IMG had no ALT text.
  822.     (reported by Barry Bakalor <barry@hal.com>)
  823.  
  824.     *    Now handles whitespace around the = of tag attributes.
  825.     The following used to generate a warning:
  826.         <IMG SRC = "foo.gif" ALT="alt text>
  827.     (reported by Barry Bakalor <barry@hal.com>)
  828.  
  829.     *    No longer complains about comments in the HEAD element.
  830.     (reported by Douglas Brick <dbrick@u.washington.edu>)
  831.  
  832.     *    Certain variables were not declared local to the WebLint()
  833.     function, which meant that when weblint'ing more than one
  834.     file on the command-line, some state variables would roll
  835.     over to the next file, causing bogus warnings.
  836.     (reported by Barry Bakalor <barry@hal.com>)
  837.  
  838.     *    Now handles case where a tag attribute does not have
  839.     a value (attribute = value), as is the case with ISMAP.
  840.     Weblint was getting confused over things like:
  841.         <IMG SRC="foo.gif" ISMAP ALT="alt text">
  842.     and complaining that the IMG had no ALT text.
  843.     (reported by Richard Lloyd <R.K.Lloyd@csc.liv.ac.uk>)
  844.  
  845.     *    If you give `-' as a filename, weblint will read from
  846.     standard input.  Warnings will be given for `stdin'.
  847.     (suggested by Ryan Waldron <rew@nuance.com>)
  848.  
  849.  
  850. 1.001
  851.  
  852.     24-oct-1994 neilb
  853.  
  854.     *    Added a man page (initial man page supplied by
  855.     Juergen Schoenwaelder <schoenw@ibr.cs.tu-bs.de>)
  856.  
  857.     *    Added a check for FORM elements:
  858.       - INPUT, SELECT, and TEXTAREA must appear in a FORM.
  859.       - OPTION must be within a SELECT element.
  860.  
  861.     *    Added code which checks for overlapped elements.  E.g.:
  862.         <H1> ... <A HREF="foobar"> ... </H1> </A>
  863.     This now results in one warning rather than six :-)
  864.     Multiply overlapped elements (more than two) don't always
  865.     generated the `correct' number of warnings, but you should
  866.     get at least one :-)
  867.  
  868.     *    Improved check for unclosed elements.  Following example
  869.     now generates one warning, instead of the multitude
  870.     generated by weblint 1.0:
  871.         <HTML><HEAD><TITLE>...</TITLE></HEAD>
  872.         <BODY> <B> unclosed bold element
  873.         </BODY></HTML>
  874.  
  875.     23-oct-1994 neilb
  876.  
  877.     *    fixed the whine generated if you have a <!DOCTYPE ...>
  878.     at the start of your page.
  879.  
  880.     *    added support for a configuration file.  WEBLINTRC,
  881.     or $HOME/.weblintrc.  Changed the whine() function to use
  882.     warning identifiers.  Defined whines, with identifiers,
  883.     and default enabling are stored beyond the end of the script.
  884.     Can enable or disable warnings in your .weblintrc.
  885.  
  886.     *    added check for illegally nested elements (eg anchors).
  887.  
  888.     *    additional check for items which should not appear in HEAD.
  889.  
  890.     *    check that <DT> and <DD> appear in a definition list (DL).
  891.  
  892.     *    added COMMENT to list of obsolete elements.
  893.  
  894.     *    added check for elements which must be in a FORM element.
  895.  
  896.     *    added check for <LINK REV=MADE HREF="mailto:...">,
  897.     which is not enabled by default.
  898.  
  899.     21-oct-1994 neilb
  900.  
  901.     *    added check for LI, that it appears within DIR, MENU,
  902.     OL or UL elements
  903.  
  904.     *    Fixed bug whereby weblint wasn't seeing tags with
  905.     embedded newlines.  Eg:
  906.         <A
  907.         HREF="...."
  908.         >
  909.  
  910.     20-oct-1994 neilb
  911.  
  912.     *    fixed bug in the code which keeps track of currently `open'
  913.     elements.  It was getting confused on line numbers.
  914.     (reported by Barry Bakalor <barry@hal.com>)
  915.  
  916.     *    checks at end of file for unclosed elements were giving
  917.     message:
  918.         tag <...> has no matching </HTML>.
  919.     rather than correct closing tag.
  920.     (reported by Barry Bakalor <barry@hal.com>)
  921.  
  922.  
  923. 1.000
  924.  
  925.     First version made publically available.
  926.  
  927.